home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / CRS / crs18.d81 / gpviewer.sda / DRIVER.FORMAT next >
Text File  |  2009-10-10  |  5KB  |  132 lines

  1.  
  2.  ╨RINTER DRIVER FORMAT FOR ╟EOVIEWER
  3.  
  4.  ╘HIS FILE EXPLAINS THE STRUCTURE OF THE PRINTER DRIVER FOR ╟EOVIEWER PROGRAM.
  5.  ═ANY EXISTING DRIVERS, PARTICULARLY THOSE WRITTEN FOR ╟┼╧╙, CAN BE MODIFIED
  6.  TO WORK WITH ╟EOVIEWER WITH FAIRLY SMALL CHANGES.
  7.  ╔N THE FOLLOWING KNOWLEDGE OF MACHINE LANGUAGE IS ASSUMED.
  8.  
  9. -------------------------------------------------------------------------------
  10.  
  11.  ╙TRUCTURE OF PRINTER DRIVER FILE
  12.  
  13.  1) ╞ILE NAME - ╘HE FIRST SEVEN CHARACTERS OF THE FILE NAME MUST BE "╟┼╧╨╥╘.",
  14.     IN ╨┼╘ ┴╙├╔╔, THAT IS $47,$45,$4╞,$50,$52,$54,$2┼.
  15.     ╘HE REMAINING CHARACTERS IN THE FILE NAME CAN BE ANYTHING AND CAN BE USED
  16.     TO DESIGNATE A SPECIFIC PRINTER.
  17.  
  18.  2) ╞ILE TYPE OF THE DRIVER MUST BE ╨╥╟. ╘HE LOAD ADDRESS IS $1800.
  19.  
  20.  3) ╘HE DRIVER RESIDES AT $1800-$1╞╞╞. ╘HAT IS THE PROGRAM MUST BE 2╦ IN SIZE
  21.     AT THE MOST. ╘HIS IS MORE THAN ENOUGH FOR MOST PRINTERS.
  22.     ╬OTE THAT ONLY THE FIRST 2╦ OF THE DRIVER FILE WILL BE LOADED BY THE MAIN
  23.     PROGRAM, EVEN IF THE DRIVER FILE IS LARGER THAN THE LIMIT.
  24.  
  25.  4) ╘HE FIRST NINE BYTES OF THE DRIVER PROGRAM MUST BE A JUMP TABLE AS FOLLOWS:
  26.  
  27.       1800  ╩═╨ ╔╬╔╘
  28.       1803  ╩═╨ ╨╥╔╬╘
  29.       1806  ╩═╨ ┼╬─
  30.  
  31.     ╔╬╔╘, ╨╥╔╬╘ AND ┼╬─ ARE ADDRESSES OF SUBROUTINES WITHIN THE DRIVER.
  32.     ╘HEY ARE EXPLAINED BELOW.
  33.  
  34.  5) ╘HE NEXT EIGHT BYTES OF THE FILE, I.E., $1809-$1810 SHOULD BE CHARACTERS
  35.     (NEED NOT BE IN ╨┼╘ ┴╙├╔╔), WHICH ARE TO DESIGNATE A NAME FOR THE DRIVER.
  36.     ╬OTE THAT THESE EIGHT CHARACTERS ARE USED FOR DISPLAY PURPOSES IN THE MAIN
  37.     PROGRAM AND NOT THE FILE NAME.
  38.  
  39. -------------------------------------------------------------------------------
  40.  
  41.  ╙UBROUTINES
  42.  
  43.  ╘HE DRIVER CONSISTS OF THREE SUBROUTINES CORRESPONDING TO THE JUMP TABLE
  44.  LISTED ABOVE. ╘HEY ARE:
  45.  
  46.  1) ╔╬╔╘ - ╘HIS SUBROUTINE IS CALLED FIRST BY THE MAIN PROGRAM. ╔T CAN BE USED
  47.     TO INITIALIZE PRINTER AND/OR INTERFACE, SET THE PRINTER TO DOT GRAPHIC MODE
  48.     , ETC. ╔TS MAIN PURPOSE, HOWEVER, IS TO DETECT THE PRESENCE OF THE PRINTER.
  49.     ╘HIS SUBROUTINE ═╒╙╘ RETURN WITH CARRY FLAG CLEAR OR SET, ACCORDING TO
  50.     WHETHER THE DEVICE IS PRESENT OR NOT, RESPECTIVELY.
  51.  
  52.  2) ╨╥╔╬╘ - ╘HIS IS THE MAIN PRINT SUBROUTINE. ╫HEN THIS ROUTINE IS CALLED BY
  53.     THE MAIN PROGRAM, THE FOLLOWING DATA ARE SUPPLIED:
  54.  
  55.     ($02,$03): ╘HESE TWO ZERO PAGE LOCATIONS CONTAIN THE ADDRESS OF THE START
  56.     OF A 640 BYTE BUFFER (LOW BYTE FIRST).
  57.     ╘HIS BUFFER CONTAINS THE BITMAP DATA TO BE PRINTED, ARRANGED AS 80 CARDS.
  58.     ┼ACH CARD CONSTITUTES OF EIGHT CONSECUTIVE BYTES AND REPRESENTS AN 8X8
  59.     PIXELS AREA OF THE SCREEN. ╘HE 640 BYTES REPRESENT ONE ROW OF THE ╟┼╧╨┴╔╬╘
  60.     FILE.
  61.  
  62.     ($04,$05): ╨OINTER TO THE START OF AN AUXILIARY 640 BYTE BUFFER. ╘HIS
  63.     BUFFER CONTAINS NO DATA. ╔T CAN BE USED AS A WORK BUFFER OR STORAGE AREA,
  64.     FOR INSTANCE, FOR PRINTERS WHICH USE HEADS WITH MORE OR LESS THAN 8 PINS.
  65.  
  66.     ($06,$07): ╨OINTER TO THE START OF AN 80 BYTE BUFFER. ╘HESE ARE COLOR DATA.
  67.     ┼ACH BYTE IS THE COLOR DATA OF ONE OF THE CARDS OF BITMAP DATA. ╘HE HIGH/
  68.     LOW NIBBLE OF EACH BYTE IS THE COLOR OF ON/OFF BITS IN THE CORRESPONDING
  69.     CARD. ╘HE COLOR DATA IS PROVIDED IN CASE THE PRINTER HAS COLOR CAPABILITY.
  70.     ╔T IS NOT NEEDED FOR DOT MATRIX PRINTERS.
  71.  
  72.     ($08,$09): ╨OINTER TO THE START OF AN AUXILIARY 80 BYTE BUFFER, WHICH CAN
  73.     BE USED AS A WORK BUFFER.
  74.  
  75.  ╘HE ╨╥╔╬╘ ROUTINE SHOULD FORMAT THE DATA IN DATA BUFFERS, USING WORK BUFFERS
  76.  IF NECESSARY, AND SEND THEM TO THE PRINTER. ┼ACH CALL PRINTS ONE ROW OF THE
  77.  ╟┼╧╨┴╔╬╘ FILE.
  78.  
  79.  ╬OTE THAT THE ADDRESESS OF THE AUXILIARY BUFFERS AND THEIR CONTENTS STAY THE
  80.  SAME EACH TIME ╨╥╔╬╘ IS CALLED BY THE MAIN PROGRAM. ┬UT DATA BUFFERS WILL HAVE
  81.  FRESH DATA WITH EACH CALL.
  82.  
  83.  3) ┼╬─ - ╘HIS ROUTINE IS CALLED AT THE END BY THE MAIN PROGRAM. ╔T IS USED TO
  84.     SEND APPROPRIATE COMMANDS TO THE PRINTER TO END PRINTING.
  85.  
  86. -------------------------------------------------------------------------------
  87.  
  88.  ═EMORY USAGE AND ╦ERNAL ROUTINES
  89.  
  90.  ╔N ADDITION TO LOCATIONS CONTAINING BUFFER ADDRESSESS, THE ZERO PAGE LOCATIONS
  91.  $0┴ TO $10 CAN BE USED IF NEEDED.
  92.  
  93.  ┼XCEPT FOR THE ZERO PAGE LOCATIONS MENTIONED, THE BUFFERS PROVIDED, AND THE
  94.  DRIVER AREA $1800-$1╞╞╞, ╬╧ ╧╘╚┼╥ ╨┴╥╘ ╧╞ ╘╚┼ ╙┘╙╘┼═ ═┼═╧╥┘ ╙╚╧╒╠─ ┬┼ ╒╙┼─.
  95.  (EXCEPT THOSE NEEDED IN NORMAL ╔/╧ OPERATIONS LIKE ╦ERNAL STATUS WORD $90).
  96.  ╞AILURE IN THIS WOULD CAUSE UNPREDICTABLE RESULTS.
  97.  ╙YSTEM CONTROL REGISTERS, TIMING AND INTERRUPTS AND ╔/╧ DEVICES SHOULD NOT BE
  98.  DISTURBED.
  99.  
  100.  ╧F THE ╦ERNAL ROUTINES THE FOLLOWING ARE ALL THAT IS NEEDED:
  101.  
  102.   ╠╔╙╘┼╬ $╞╞┬1
  103.   ╙┼├╧╬─ $╞╞93
  104.   ├╔╧╒╘  $╞╞┴8
  105.   ╒╬╠╙╬  $╞╞┴┼
  106.  
  107.  ╧R IN CASE A LOGICAL FILE IS USED:
  108.  
  109.   ╙┼╘╠╞╙ $╞╞┬┴
  110.   ╙┼╘╬┴═ $╞╞┬─
  111.   ╧╨┼╬   $╞╞├0
  112.   ├╚╦╧╒╘ $╞╞├9
  113.   ├╚╥╧╒╘ $╞╞─2
  114.   ├╠╥├╚╬ $╞╞├├
  115.   ├╠╧╙┼  $╞╞├3
  116.  
  117.  ╫HEN RETURNING FROM THE DRIVER TO THE MAIN PROGRAM, ╒╬╠╙╬ MUST BE SENT TO THE
  118.  PRINTER IN THE FIRST CASE. ╔N THE SECOND CASE, ALL CHANNELS MUST BE CLEARED
  119.  AND LOGICAL FILES CLOSED.
  120.  
  121. -------------------------------------------------------------------------------
  122.  
  123.  ╫ITH THIS PACKAGE A SAMPLE PRINTER DRIVER FILE IS SUPPLIED. ╘HE FILE NAME IS
  124.  "╟┼╧╨╥╘.┼╨╙╧╬-90". ╔T IS A FAIRLY SIMPLE ┼PSON COMPATIBLE PRINTER DRIVER WHICH
  125.  PRINTS AT THE DENSITY OF 90 ─╨╔.
  126.  ┘OU ARE WELCOME TO EXAMINE IT TO BECOME MORE FAMILIAR WITH THE FORMAT USED IN
  127.  THE PRINTER DRIVERS FOR ╟EOVIEWER.
  128.  
  129. -------------------------------------------------------------------------------
  130.  
  131.  ╙IAMAK ┴NSARI - ╬OV 1991
  132.